package com.rabbiter.cm.domain.vo;

import com.rabbiter.cm.domain.SysBill;
import java.io.Serializable;

/**
 * 订单数据传输对象（VO），用于接收前端传递的新增订单相关数据。
 * 主要包含订单基本信息和场次座位更新信息。
 */
public class SysBillVo implements Serializable {

    /**
     * 序列化版本唯一标识符，确保类的版本一致性。
     */
    private static final long serialVersionUID = 1L;

    /**
     * 订单实体对象，封装了用户提交的订单基本信息。
     * 如用户 ID、场次 ID、座位信息、价格等。
     */
    private SysBill sysBill;

    /**
     * 场次座位信息字符串。
     * 在订单创建成功后，用于更新对应的场次座位状态。
     */
    private String sessionSeats;


    /**
     * 默认构造函数，用于创建一个空的 SysBillVo 对象。
     */
    public SysBillVo() {
    }

    /**
     * 带参数的构造函数，用于初始化订单信息和座位信息。
     *
     * @param sysBill      封装的订单实体对象
     * @param sessionSeats 更新后的场次座位信息字符串
     */
    public SysBillVo(SysBill sysBill, String sessionSeats) {
        this.sysBill = sysBill;
        this.sessionSeats = sessionSeats;
    }

    /**
     * 获取订单实体对象。
     *
     * @return 返回封装的 [sysBill](file://E:\WORKSPACE\untitled38\src\main\java\com\rabbiter\cm\domain\SysBill.java#L8-L152) 对象
     */
    public SysBill getSysBill() {
        return sysBill;
    }

    /**
     * 设置订单实体对象。
     *
     * @param sysBill 需要设置的订单对象
     */
    public void setSysBill(SysBill sysBill) {
        this.sysBill = sysBill;
    }

    /**
     * 获取场次座位信息字符串。
     *
     * @return 返回座位信息字符串
     */
    public String getSessionSeats() {
        return sessionSeats;
    }

    /**
     * 设置场次座位信息字符串。
     *
     * @param sessionSeats 需要设置的座位信息字符串
     */
    public void setSessionSeats(String sessionSeats) {
        this.sessionSeats = sessionSeats;
    }

    /**
     * 返回当前对象的字符串表示，用于调试和日志输出。
     *
     * @return 包含订单信息和座位信息的字符串
     */
    @Override
    public String toString() {
        return "SysBillVo{" +
                "sysBill=" + sysBill +
                ", sessionSeats='" + sessionSeats + '\'' +
                '}';
    }
}
package com.rabbiter.cm.domain.vo;

import com.rabbiter.cm.domain.SysBill;

import java.io.Serializable;

/**
 * 接收前端增加订单的数据
 */
public class SysBillVo implements Serializable {

    //订单信息
    private SysBill sysBill;

    //若成功更新后场次的座位信息
    private String sessionSeats;

    public SysBillVo() {
    }

    public SysBillVo(SysBill sysBill, String sessionSeats) {
        this.sysBill = sysBill;
        this.sessionSeats = sessionSeats;
    }

    public SysBill getSysBill() {
        return sysBill;
    }

    public void setSysBill(SysBill sysBill) {
        this.sysBill = sysBill;
    }

    public String getSessionSeats() {
        return sessionSeats;
    }

    public void setSessionSeats(String sessionSeats) {
        this.sessionSeats = sessionSeats;
    }

    @Override
    public String toString() {
        return "SysBillVo{" +
                "sysBill=" + sysBill +
                ", sessionSeats='" + sessionSeats + '\'' +
                '}';
    }
}
